/*
 * NodeIterators.h
 *
 *  Created on: Apr 27, 2009
 *      Author: wrice
 */

#ifndef NODEITERATORS_H_
#define NODEITERATORS_H_
#include "DOMTraversal.h"
namespace DOMTraversal {

class NodeIterator {
public:
	virtual Node * getRoot() = 0;
	virtual unsigned long getWhatToShow() = 0;
	virtual NodeFilter * getFilter() = 0;
	virtual bool getExpandEntityReferences() = 0;

	virtual Node * nextNode() throw(DOMExceptionPtr) = 0;
	virtual Node * previousNode() throw(DOMExceptionPtr) = 0;
	virtual void detach() = 0;

public: ~NodeIterator() {}
};

}
#endif /* NODEITERATORS_H_ */
